package com.stefanini.pe.bbva.bp.in.dao.impl;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.stefanini.pe.bbva.bp.in.dao.iface.ClientesAnexoDAOIface;
import com.stefanini.pe.bbva.bp.in.to.ClienteAnexos;
import com.stefanini.pe.bbva.bp.in.utils.Util;

@Repository
public class ClientesAnexoDAOImpl extends SqlMapClientDaoSupport implements ClientesAnexoDAOIface {

	@Autowired
	public ClientesAnexoDAOImpl(SqlMapClient sqlMapClient) {
		setSqlMapClient(sqlMapClient);
	}
	
	@SuppressWarnings("unchecked")
	public String guardarClienteAnexo(ClienteAnexos clienteAnexos) throws Exception {
		HashMap map=new HashMap();
		map.put("in_codcliente", clienteAnexos.getCodcliente());
		map.put("in_descripcion", clienteAnexos.getDescripcion());
		map.put("in_archivo", clienteAnexos.getArchivo());
		map.put("in_usuario", clienteAnexos.getIdUsuario());
		map.put("in_nombreArchivo", clienteAnexos.getNomArchivo());
		
		getSqlMapClientTemplate().queryForList("BP_CLIENTE_SqlMap.guardarClienteAnexo",map);
		
		return (String)map.get("out_mensaje");
	}

	@SuppressWarnings("unchecked")
	public List<ClienteAnexos> buscarClienteAnexo(ClienteAnexos clienteAnexos) {
		HashMap<String, Object> map=new HashMap<String, Object>();
		map.put("in_fecha_inicio", Util.formatDate(clienteAnexos.getFechaInicio(),"yyyymmdd"));
		map.put("in_fecha_fin", Util.formatDate(clienteAnexos.getFechaFin(),"yyyymmdd"));
		map.put("in_cod_cliente",clienteAnexos.getCodcliente());
		
		System.out.println("in_fecha_inicio:"+Util.formatDate(clienteAnexos.getFechaInicio(),"yyyymmdd"));
		System.out.println("in_fecha_fin:"+Util.formatDate(clienteAnexos.getFechaFin(),"yyyymmdd"));
		System.out.println("in_cod_cliente:"+clienteAnexos.getCodcliente());
		
		getSqlMapClientTemplate().queryForList("BP_CLIENTE_SqlMap.buscarClienteAnexo",map);
		System.out.println("out_mensaje : :"+map.get("out_message"));
		
		return (List<ClienteAnexos>)map.get("out_result");
	}
}
